/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2006，所有权利保留。
 * 
 * 文件名：	SCartridge.java
 * 模块说明：	
 * 修改历史：
 * 2006-10-24 - lxm - 创建。
 */
package com.hd123.rumba.cartridge.biz;

import com.hd123.rumba.cartridge.CCartridge;
import com.hd123.rumba.cartridge.ICartridge;
import com.hd123.rumba.exception.BusinessException;
import com.hd123.rumba.exception.StringTooLongException;
import com.hd123.rumba.runtime.IPersistent;
import com.hd123.rumba.runtime.biz.BPersistent;

/**
 * 构件包| 业务层.简单 | 实体
 * 
 * @author lxm
 * 
 */
public class SCartridge extends BPersistent {

  /** 前缀 */
  private String prefix;
  /** 标题 */
  private String caption;

  /**
   * 从持久化对象赋值。
   * 
   * @param source
   * @throws BusinessException
   */
  public void readFrom(IPersistent source) throws BusinessException {
    super.readFrom(source);
    if (source instanceof ICartridge) {
      this.prefix = ((ICartridge) source).getPrefix();
      this.caption = ((ICartridge) source).getCaption();
    }
  }

  public String getCaption() {
    return caption;
  }

  public void setCaption(String caption) throws StringTooLongException {
    if (caption != null)
      prefix = truncate(caption, CCartridge.LENGTH_CAPTION, "caption",
          CCartridge.CAPTION_CAPTION);
    this.caption = caption;
  }

  public String getPrefix() {
    return prefix;
  }

  public void setPrefix(String prefix) throws StringTooLongException {
    if (prefix != null)
      prefix = truncate(prefix, CCartridge.LENGTH_PREFIX, "prefix",
          CCartridge.CAPTION_PREFIX);
    this.prefix = prefix;
  }

}
